﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Demo
{
    class Program
    {
        //编写一个程序，请用户输入一个四位整数，将用户输入的四位数的千位、百位、十位和个位分别显示出来，如5632，则显示“用户输入的千位为5，百位为6，十位为3，个位为2”
        static void Main(string[] args)
        {
            test5();
        }
        static void test1() {
                Console.WriteLine("请输入一个四位数");
                int num = int.Parse(Console.ReadLine());
                int ge = num % 1000 % 100 % 10;
                int shi = num % 1000 % 100 / 10;
                int bai = num % 1000 / 100;
                int qian = num / 1000;

                Console.WriteLine("该四位数的千位为" + qian);
                Console.WriteLine("该四位数的百位为" + bai);
                Console.WriteLine("该四位数的十位为" + shi);
                Console.WriteLine("该四位数的个位为" + ge);

            }
        
        //用户输入三个数，找出最大的数，打印输出。
        static void test2()
        {
            Console.WriteLine("请输入三个数");
            int a = int.Parse(Console.ReadLine());
            int b = int.Parse(Console.ReadLine());
            int c = int.Parse(Console.ReadLine());
            if (a>b&b>c)
            {
                Console.WriteLine("最大数为" + a);
            }
            if (a<b&b>c)
            {
                Console.WriteLine("最大数为" + b);
            }
            if (a<b&b<c)
            {
                Console.WriteLine("最大数为" + c);
            }
        }
        //输入一行字符串，分别统计出其中英文字母、数字、空格的个数。
        static void test3()
        {
            int danci = 0;
            int shuzi = 0;
            int kongge = 0;
            Console.WriteLine("请输入一行字符串");
            string a = Console.ReadLine();
            foreach (char b in a)
            {
                if (char.IsWhiteSpace(b))
                {
                    kongge++;
                }
                if (char.IsLetter(b))
                {
                    danci++;
                }
                if (char.IsNumber(b))
                {
                    shuzi++;
                }
            }
            Console.WriteLine("空格数是" + kongge);
            Console.WriteLine("单词数是" + danci);
            Console.WriteLine("数字数是" + shuzi);
        }
        //在 Main 方法中创建一个 double 类型的数组，并在该数组中存入 5 名学生的考试成绩，计算总成绩和平均成绩。
        //要求使用foreach语句实现该功能，
        static void test4()
        {
            double a = 0;
            double[] b = new double[5];
            for (int i = 0; i < b.Length; i++)
            {
                Console.WriteLine("输入第"+(1+i)+"个学生成绩");
                b[i] = double.Parse(Console.ReadLine());
            }
            foreach (var c in b)
            {
                a = a + c;
            }
            Console.WriteLine("总分为"+ a);
            Console.WriteLine("平均分为" + a/5);
        }
        //定义一个方法，实现一维数组的排序功能，从大到小排序。

        static void test5()
        {
            int[] a = { 2002, 8, 11, 7, 10, 5, 27 };
            Console.WriteLine("排序前：");
            for (int i = 0; i < a.Length; i++)
            {
                Console.Write(a[i]+" ");
            }
            Console.WriteLine();

            Array.Sort(a);
            Array.Reverse(a);

            Console.WriteLine("排序后：");
            for (int i = 0; i < a.Length; i++)
            {
                Console.Write(a[i] + " ");
            }
            Console.WriteLine();
        }
    }
}
